6. CSI 摄像头
6.1 简介
- CSI(Camera Serial Interface)是一种用于图像传输的串行接口标准。它是由MIPI联盟(MIPI Alliance)制定和管理的,MIPI联盟是一个专门致力于移动设备接口标准的组织。CSI主要用于连接图像传感器和图像处理器或其他设备,例如数字信号处理器(DSP)或应用处理器。它提供了一种高速、低功耗的方式,用于传输图像和相关的控制信号。
- CSI接口在许多应用领域得到广泛应用,特别是在移动设备、嵌入式系统和消费电子产品中。它为图像传感器和图像处理器之间提供了一种可靠、高效的连接方式,使得高质量图像的实时捕获和处理成为可能。
6.2 硬件连接
-
Core3566目前适配了 IMX219 摄像头。要测试 CSI 摄像头,建议给 Core3566 接入 HDMI 屏幕或者 DSI 屏幕。
-
在 CM4-IO-BASE-B 底板上,CSI(摄像头)和DSI(显示器)两个接口的封装是相似的。在接线时需要注意不要接错。这两个 CSI 接口位于 GPIO 接口的对面,而 DSI 接口则位于 Power 接口的边上。请注意,如果您使用的是其他底板,具体的布局可能会有所不同,请以您所使用底板的布局为准。
-
将排线的金属面朝向Core3566核心板,接入摄像头接口。

6.3 查看摄像头信息
-
使用 v4l2-ctl 命令输出的设备列表信息:
v4l2-ctl --list-deviceslinaro@linaro-alip:~$ v4l2-ctl --list-devicesrkisp-statistics (platform: rkisp):/dev/video7/dev/video8/dev/video16/dev/video17rkisp_mainpath (platform:rkisp-vir0):/dev/video0/dev/video1/dev/video2/dev/video3/dev/video4/dev/video5/dev/video6rkisp_mainpath (platform:rkisp-vir1):/dev/video9/dev/video10/dev/video11/dev/video12/dev/video13/dev/video14/dev/video15linaro@linaro-alip:~$- 在 Rockchip(rkisp)平台上,rkisp-vir0 和 rkisp-vir1 是两个虚拟设备,用于处理图像和视频数据的主路径。这些虚拟设备可以与摄像头或其他视频输入设备进行交互,并提供对图像和视频数据的处理和传输功能。
- 通常情况下,rkisp-vir0 和 rkisp-vir1 可以连接到不同的摄像头或视频输入源,以实现多路图像采集和处理。它们提供了对图像和视频数据进行处理和传输的接口,供应用程序或系统进行调用和使用。
-
#列出摄像头相关参数:
#CSI0v4l2-ctl --list-formats-ext --device=/dev/video0#CSI1v4l2-ctl --list-formats-ext --device=/dev/video9 -
摄像头预览:
#如果在SSH终端上运行,要将图形界面显示在第一个屏幕export DISPLAY=:0.0#CSI0gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=NV12,width=1920,height=1080, framerate=30/1 ! xvimagesink#CSI1gst-launch-1.0 v4l2src device=/dev/video9 ! video/x-raw,format=NV12,width=1920,height=1080, framerate=30/1 ! xvimagesink -
拍照:
#CSI0sudo gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! jpegenc ! filesink location=picture.jpg#CSI1sudo gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video9 ! jpegenc ! filesink location=picture.jpg